/*
 * ------------------------------------------------------------
 *  FECHA      HORA     NOMBRE           COMENTARIO 
 * ------------------------------------------------------------
 *  09/05/08   17:15    JAVI             creación de interface
 *
 *
 */

package net.ieslaferreria.infoCiutat;

/** 
 * Interface que guarda un itinerari que demana l'usuari.
 * 
 * @author Alex, Javi, David y Sergio
 */
public interface Ruta {
    
    /** 
     * Retorna la instrucció adequada al punt de la ruta actual per imprimirla 
     * i poder continuar.
     * 
     * @return String
     */
    public String getInstruccio();

    /** 
     * Retorna l'aresta següent.
     * 
     * @return Aresta
     */
    public Aresta getSeguentAresta();

    /** 
     * Retorna l'aresta actual.
     * 
     * @return Aresta
     */
    public Aresta getArestaActual();
    
    /**
     * Retorna l'aresta anterior.
     * 
     * @return Aresta
     */
    public Aresta getArestaAnterior();

    /** 
     * Retorna el temps restant de la ruta.
     * 
     * @return int
     */
    public int getTempsRestant();
    
    /**
     * Retorna el temps total de la ruta.
     * 
     * @return int
     */
    public int getTempsTotal();

    /** 
     * Reprodueix la ruta a seguir.
     */
    public void reproduirRuta();

    /** 
     * Afegeix una aresta a la ruta.
     * 
     * @param aresta
     */
    public void addAresta(Aresta aresta);

    /** 
     * Avança seguint la ruta.
     */
    public void avança();

}
